home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / prog / tpwprog5.arj / HATCH.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-07-02  |  2.3 KB  |  91 lines

  1. { hatch.pas -- Display hatch brushes }
  2.  
  3. program Hatch;
  4.  
  5. uses WinTypes, WinProcs, WObjects;
  6.  
  7. type
  8.  
  9.   HatchApplication = object(TApplication)
  10.     procedure InitMainWindow; virtual;
  11.   end;
  12.  
  13.   PHatchWindow = ^HatchWindow;
  14.   HatchWindow = object(TWindow)
  15.     constructor Init(AParent: PWindowsObject; ATitle: PChar);
  16.     procedure Paint(PaintDC: HDC; var PaintInfo: TPaintStruct);
  17.       virtual;
  18.   end;
  19.  
  20. { HatchApplication }
  21.  
  22. {- Initialize the application's window }
  23. procedure HatchApplication.InitMainWindow;
  24. begin
  25.   MainWindow := New(PHatchWindow, Init(nil, 'Hatch Brushes'))
  26. end;
  27.  
  28. { HatchWindow }
  29.  
  30. {- Initialize the application's window object }
  31. constructor HatchWindow.Init(AParent: PWindowsObject; ATitle: PChar);
  32. begin
  33.   TWindow.Init(AParent, ATitle);
  34.   with Attr do
  35.   begin
  36.     X := 20; Y := 20; W := 435; H := 276
  37.   end
  38. end;
  39.  
  40. {- Paint graphics in window }
  41. procedure HatchWindow.Paint(PaintDC: HDC; var PaintInfo:
  42.   TPaintStruct);
  43. var
  44.   OldBrush, TheBrush: HBrush;
  45.  
  46.   procedure DrawShadow(X, Y: Integer);
  47.   begin
  48.     TheBrush := CreateSolidBrush(0);
  49.     OldBrush := SelectObject(PaintDC, TheBrush);
  50.     Rectangle(PaintDC, X, Y, X + 97, Y + 79);
  51.     SelectObject(PaintDC, OldBrush);
  52.     DeleteObject(TheBrush)
  53.   end;
  54.  
  55.   procedure DrawShape(X, Y, BrushStyle: Integer; Name: String);
  56.   begin
  57.     DrawShadow(X + 4, Y + 4);
  58.     TheBrush := CreateHatchBrush(BrushStyle, 0);
  59.     OldBrush := SelectObject(PaintDC, TheBrush);
  60.     Rectangle(PaintDC, X, Y, X + 97, Y + 79);
  61.     TextOut(PaintDC, X, Y - 20, @Name[1], Length(Name));
  62.     SelectObject(PaintDC, OldBrush);
  63.     DeleteObject(TheBrush)
  64.   end;
  65.  
  66. begin
  67.   DrawShape( 20,  29, hs_BDiagonal,  'hs_BDiagonal'  );
  68.   DrawShape(164,  29, hs_Cross,      'hs_Cross'      );
  69.   DrawShape(308,  29, hs_DiagCross,  'hs_DiagCross'  );
  70.   DrawShape( 20, 149, hs_FDiagonal,  'hs_FDiagonal'  );
  71.   DrawShape(164, 149, hs_Horizontal, 'hs_Horizontal' );
  72.   DrawShape(308, 149, hs_Vertical,   'hs_Vertical'   )
  73. end;
  74.  
  75. var
  76.  
  77.   HatchApp: HatchApplication;
  78.  
  79. begin
  80.   HatchApp.Init('Hatch');
  81.   HatchApp.Run;
  82.   HatchApp.Done
  83. end.
  84.  
  85.  
  86. {--------------------------------------------------------------
  87.   Copyright (c) 1991 by Tom Swan. All rights reserved.
  88.   Revision 1.00    Date: 1/11/1991
  89. ---------------------------------------------------------------}
  90.  
  91.